export default {
  methods: {
    // 特殊业务对象-单选框
    changeRadio(item, val) {
      if (parseInt(val) === 3) {
        this.reloadSmallTreeFlag = false

        // 当选择其他机构及下级机构，对机构树重新加载防止之前操作缓存内容
        this.$nextTick(() => {
          this.$refs.ComponentsSelect && this.$refs.ComponentsSelect.$refs.comp.$refs.smallTree.load()
          // this.$refs[item.refName] && this.$refs[item.refName].$refs.comp && this.$refs[item.refName].$refs.comp.$refs["smallTree"]
          //  && this.$refs[item.refName].$refs.comp.$refs["smallTree"].load()
        })
      } else {
        // 当当选择不是其他机构及下级机构时，对对应展示条件内容清空
        this.$set(item, "checkedTreeNodeNames", "")
      }
      this.$set(item, "cType", "specialType")
      this.$set(item, "radioVal", val)

      /**
       * 初始化其他组件的值
       */
      this.$set(item, "codeOperatorsVal", "") //代码-运算符
      this.$set(item, "operatorsVal", "") //普通业务对象-运算符
      this.$set(item, "conditions2Val", "") //输入条件
      this.$set(item, "datesVal", "") //日期
      this.$set(item, "conditionsVal", "") //选择条件
    },
    // 特殊业务对象-树
    checkTree(item, val) {
      let temp = val.map(itemSon => itemSon.text).join('、')
      this.$set(item, "cType", "specialType")
      this.$set(item, "checkedTreeNodes", val)
      this.$set(item, "checkedTreeNodeNames", temp)
      /**
       * 初始化其他组件的值
       */
      this.$set(item, "codeOperatorsVal", "") //代码-运算符
      this.$set(item, "operatorsVal", "") //普通业务对象-运算符
      this.$set(item, "conditions2Val", "") //输入条件
      this.$set(item, "datesVal", "") //日期
      this.$set(item, "conditionsVal", "") //选择条件
    },
    // 代码-运算符
    changeCodeOperators(item, val) {
      this.$set(item, "cType", "codeType")
      this.$set(item, "codeOperatorsVal", val)

      /**
       * 初始化其他组件的值
       */
      this.$set(item, "operatorsVal", "") //普通业务对象-运算符
      this.$set(item, "checkedTreeNodes", "") //树
      this.$set(item, "radioVal", "") //单选框
      this.$set(item, "conditions2Val", "") //输入条件
      this.$set(item, "datesVal", "") //日期
    },
    // 代码-选择条件
    changeConditions(item, val) {
      this.$set(item, "cType", "codeType")
      this.$set(item, "conditionsVal", val)
      /**
       * 初始化其他组件的值
       */
      this.$set(item, "operatorsVal", "") //普通业务对象-运算符
      this.$set(item, "checkedTreeNodes", "") //树
      this.$set(item, "radioVal", "") //单选框
      this.$set(item, "conditions2Val", "") //输入条件
      this.$set(item, "datesVal", "") //日期
    },
    // 代码-选择条件的整个内容
    changeConditionsDirectory(item, val) {
      this.$set(item, "cType", "codeType")
      this.$set(item, "conditionsDirectoryVal", val)
    },
    // 普通业务对象-运算符
    changeOperators(item, val) {
      this.$set(item, "cType", "commonType")
      this.$set(item, "operatorsVal", val)

      /**
       * 初始化其他组件的值
       */
      this.$set(item, "codeOperatorsVal", "") //代码-运算符
      this.$set(item, "checkedTreeNodes", "") //树
      this.$set(item, "radioVal", "") //单选框
      this.$set(item, "conditionsVal", "") //选择条件
    },
    // 普通业务对象-输入条件（常规文本框）
    changeConditions2(item, val) {
      this.$set(item, "cType", "commonType")
      this.$set(item, "conditions2Val", val)
      /**
       * 初始化其他组件的值
       */
      this.$set(item, "codeOperatorsVal", "") //代码-运算符
      this.$set(item, "checkedTreeNodes", "") //树
      this.$set(item, "radioVal", "") //单选框
      this.$set(item, "conditionsVal", "") //选择条件
      this.$set(item, "datesVal", "") //日期
    },
    // 普通业务对象-输入条件（日期）
    changeDates(item, val) {
      this.$set(item, "cType", "commonType")
      this.$set(item, "datesVal", val)
      /**
       * 初始化其他组件的值
       */
      this.$set(item, "codeOperatorsVal", "") //代码-运算符
      this.$set(item, "checkedTreeNodes", "") //树
      this.$set(item, "radioVal", "") //单选框
      this.$set(item, "conditionsVal", "") //选择条件
      this.$set(item, "conditions2Val", "") //输入条件
    },
    // 获取机构树上节点勾选情况
    getGroupTreeChecked(item, checkedKeys, checkedNodes, halfCheckedKeys, halfCheckedNodes) {
      item.groupTreeCheckedNodes = checkedNodes
    }
  }
}
